import { Callout } from 'nextra/components'

# 文档导入

此功能允许将 Umo Editor 专有的文档格式、 Office 及 WPS 文档（包括：doc, docx, xls, xlsx, ppt, pptx, odp, odt, ods, rtf, wps, et, dps 等格式）、Markdown 和文本文档等文档导入到 Umo Editor 编辑器中。

## 配置项示例

```js {2-7}
const defaultOptions = {
  // toolbar.importWord 配置项已被移除，请使用 import.office 配置项代替
  toolbar: {
    importWord: { 
      // ...
    },
  },
  // 文档导入相关配置
  import: {
    office: {
      limitSize: 50, // 50 MB
    },
    markdown: {},
    text: {
      replaceEmptyLines: false,
    },
  },
}
```
<Callout type="error" emoji="❗">
**注意：** 在 Umo Editor Next 版本中，`toolbar.importWord` 配置项已被移除，请使用 `import.office` 配置项代替。
</Callout>

## 配置项说明

### import.office

**说明**：导入 Office 文档配置项，用于配置 Office 及 WPS 文档导入功能，导入的格式支持：doc, docx, xls, xlsx, ppt, pptx, odp, odt, ods, rtf, wps, et, dps 等，并可自行扩展。

**类型**：`Object`

**默认值**：

```js
{
  limitSize: 50, // 50 MB
}
```

**配置项**：

- `limitSize`：可导入的文件大小限制，默认为 50 MB。

### import.markdown

**说明**：Markdown 文档导入配置项，用于配置 Markdown 文档导入功能。

**类型**：`Object`

**默认值**：`{}`

**配置项**：

- `enabled`：是否启用导入 Markdown 文件功能，默认为 `true`。
- `options`：MarkdownIt 的配置项，见：https://markdown-it.github.io/markdown-it/#MarkdownIt.new 。

### import.text

**说明**：文本文档导入配置项，用于配置文本文档导入功能。

**类型**：`Object`

**默认值**：`{}`

**配置项**：

- `replaceEmptyLines`：是否替换文档中的空行，默认为 `false`。

## 方法列表

### importDocument

**说明**：导入 Umo Editor 文档，支持 `.umo` 格式的 Umo Editor 文档。

**参数**：

- `file`，File，Umo Editor 导出的 `.umo` 文档文件。

**返回值**：`Boolean`，是否导入成功。

### importOffice

**说明**：导入 Office 文档，支持 doc, docx, xls, xlsx, ppt, pptx, odp, odt, ods, rtf, wps, et, dps 等格式的 Office 文档。

**参数**：

- `file`，File，Office 文档文件。

**返回值**：`Boolean`，是否导入成功。

### importMarkdown

**说明**：导入 Markdown 文档内容。

**参数**：

`object`，MarkdownIt 配置项，见：https://markdown-it.github.io/markdown-it/#MarkdownIt.new ， 默认值使用 `import.markdown.options`。

**返回值**：`Boolean`，是否导入成功。

### importText

**说明**：导入文本内容。

**参数**：

- `text`，String，文本内容。
- `replaceEmptyLines`，Boolean，是否替换空行，默认值使用 `import.text.replaceEmptyLines`。

**返回值**：`Boolean`，是否导入成功。

## Markdown 语法扩展

### 高亮块

使用 `:::` 来标识高亮块的开始和结束。

```
:::info
高亮块内容
:::
```